package dominio;

import java.io.Serializable;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;


@Entity
@Table(name="Proveedores")
public class Proveedor implements Serializable{
	
	@Transient  
	private static final long serialVersionUID = 1L;
	
	private int IdProveedor;
	private String razonSocial; 
	private List<OrdenCompra> ordenesCompra;
	private List<CondicionCompra> condicionesPago;
	
	public Proveedor (){
		
	}
	public Proveedor(int idProveedor, ListaPrecios lp) {
		super();
		IdProveedor = idProveedor;
		
	}
	
	@Id 
	public int getIdProveedor() {
		return IdProveedor;
	}
	public void setIdProveedor(int idProveedor) {
		IdProveedor = idProveedor;
	}

	public void setRazonSocial(String razonSocial) {
		this.razonSocial = razonSocial;
	}

	public String getRazonSocial() {
		return razonSocial;
	}
	
	
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Proveedor other = (Proveedor) obj;
		if (IdProveedor != other.IdProveedor)
			return false;
		return true;
	}	
	
	@OneToMany(cascade=CascadeType.ALL)
    @JoinColumn(name="idProveedor")
	public List<OrdenCompra> getOrdenesCompra() {
		return ordenesCompra;
	}
	public void setOrdenesCompra(List<OrdenCompra> ordenes) {
		this.ordenesCompra= ordenes;
	}
	
	
	@OneToMany(cascade=CascadeType.ALL)
    @JoinColumn(name="idProveedor")
	public List<CondicionCompra> getCondicionesPago() {
		return condicionesPago;
	}
	public void setCondicionesPago(List<CondicionCompra> condicionesPago) {
		this.condicionesPago = condicionesPago;
	}
	
}
